#pragma once

#include "FITKInterfaceCustomDataAPI.h"
#include "FITK_Kernel/FITKCore/FITKAbstractNDataObject.h"
#include "FITK_Kernel/FITKCore/FITKVarientParams.h"
#include "FITK_Kernel/FITKCore/FITKAbstractDataManager.hpp"

namespace Interface
{
	class FITKInterfaceCustomDataAPI FITKCDCfgPSetPhysical : public Core::FITKAbstractNDataObject, public Core::FITKVarientParams
    {
    public:
        explicit FITKCDCfgPSetPhysical() = default;
        virtual ~FITKCDCfgPSetPhysical() = default;

		// SET
		void setGravity(double* dVal);
		void setSpsSmag(double dVal);
		void setSpsBlin(double dVal);
		void setAlpavisc(double dVal);
		void setRealvisc(bool bVal);

		// GET
		double* getGravity();
		double getSpsSmag();
		double getSpsBlin();
		double getAlpavisc();
		bool getRealvisc();
    };


	class FITKInterfaceCustomDataAPI FITKCDCfgPSetPhysicalManager : public Core::FITKAbstractDataManager<FITKCDCfgPSetPhysical>
	{
	public:
		explicit FITKCDCfgPSetPhysicalManager() = default;
		virtual ~FITKCDCfgPSetPhysicalManager() = default;
	};
}

